An increasing number of companies and other enterprises are reducing their costs by migrating portions of their information technology infrastructure to cloud service providers. For example, virtual data centers and other types of systems comprising distributed virtual infrastructure are coming into widespread use. Commercially available virtualization software such as VMware® vSphere™ may be used by cloud service providers to build a variety of different types of virtual infrastructure, including private and public cloud computing and storage systems, which may be distributed across hundreds of interconnected computers, storage devices and other physical machines. Typical cloud service offerings include, for example, Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS).
In cloud-based information processing system arrangements of the type described above, enterprises in effect become tenants of the cloud service providers. However, by relinquishing control over their information technology resources, these cloud tenants expose themselves to additional potential security threats. For example, a given tenant may be inadvertently sharing physical hardware resources with other tenants that could be competitors or attackers.
Security can be particularly problematic in the context of PaaS, where cloud tenants are provided with various functionalities that enable them to develop, test and deploy their applications on the same processing platform. This increasingly popular cloud service model promises significant future market growth. Examples of known PaaS clouds include the Google App Engine, Windows Azure and VMWare® Cloud Foundry. However, security concerns arising from multi-tenancy are still a major obstacle to wider adoption of the PaaS model, particularly in that different tenants may share the same operating system. Compared to an IaaS model, where security isolation can be provided by virtualization, the security boundary among tenants in the PaaS model is more ambiguous. As a result, PaaS providers may need to implement logical isolation among tenant applications running in the same operating system. This becomes especially challenging in a heterogenous environment supporting multiple runtimes and operating systems.
The Google App Engine addresses this issue by employing a homogeneous software stack and imposing undesirable restrictions on applications. Other existing approaches may rely upon inefficient manual configuration of virtualized infrastructure and associated security policies, and are therefore not readily scalable to large numbers of tenants.